<?php

namespace app\admin\controller;

use app\common\model\Type;
use think\Controller;
use app\common\model\Typeattr as TypeattrModel;

/**
 *  Typeattr
 *  后台类型--属性列表控制器 admin.controller.Typeattr
 * Class Login
 * @package app\admin\controller
 */
class Typeattr extends Common
{
    protected $db;

    //模型初始化
    protected function _initialize()
    {
//        /需要调用`Model`的`initialize`方法
        parent::_initialize();
        // TODO: Change the autogenerated stub   //TODO:自定义的初始化
        $this->db = new TypeattrModel();
    }

    /**
     *  首页 lists
     */
    public function lists()
    {
        $tid = input('param.tid');
        $typeattr =  $this->db->where("tid='$tid'")->select();
        $this->assign('typeattr', $typeattr);

        $tid = input('param.tid');
        $type = (new Type())->find($tid);
        $this->assign('type', $type);
        //加载模板
        return $this->fetch('lists');
    }

    /**
     *  添加属性
     */
    public function add()
    {
        //判断是否为post数据
        if (request()->isPost()) {
            //p(input('post.')); 获取post数据
            $res = $this->db->add(input('post.'));
            if ($res['valid']) {
                //操作成功
                $this->success($res['msg'], 'admin/type/lists');
                exit;
            } else {
                $this->error($res['msg']);
                exit;
            }
        } else {
            //获取当前属性添加该条的类型tid，相关联
            $tid = input('param.tid');
            //p($tid);die;   实例化Type模型find找到$tid相同的一条数据
            $type = (new Type())->find($tid);
            //p($type->toArray());die; //分配数据
            $this->assign('type', $type);
        }
        return $this->fetch('add');
    }
    //删除类型属性
    public function del()
    {
        $res = $this->db->del(input('param.taid'));
        if ($res['valid']) {
            //操作成功
            $this->success($res['msg'], 'admin/type/lists');
            exit;
        } else {
            $this->error($res['msg']);
            exit;
        }
    }
    //编辑类型属性
    public function edit()
    {
        //表单提交之后的操作
        if (request()->isPost()) {
            //p($_POST);die;
            //将post数据传入模型中操作
            $res = $this->db->edit(input('post.'));
            if ($res['valid']) {
                //执行成功
                $this->success($res['msg'], 'admin/type/lists');
                exit;
            } else {
                $this->error($res['msg']);
                exit;
            }
        }
        //变得提交之前的操作
        //接收tid
        $tid = input('param.taid');
        //获取旧数据
        $oldData = $this->db->find($tid);
        $this->assign('oldData', $oldData);

        //分配数据
        $tid = input('param.tid');
        $type = (new Type())->find($tid);
        $this->assign('type', $type);

        return $this->fetch('edit');
    }
}
